//============================================================================================
/**
 * @file	zkn2_ui.h
 * @brief	金銀図鑑画面 インターフェース関連
 * @author	Hiroyuki Nakamura
 * @date	08.08.26
 */
//============================================================================================
#ifndef	ZKN2_UI_H
#define	ZKN2_UI_H


//============================================================================================
//	定数定義
//============================================================================================

// 戻り値
enum {
	// トップページ
	ZKN2UI_TOP_OPEN = 0,		// 開く
	ZKN2UI_TOP_SUARCH,			// 探す
	ZKN2UI_TOP_CANCEL,			// 終わる
	ZKN2UI_TOP_LEFT,			// 左キー
	ZKN2UI_TOP_RIGHT,			// 右キー
	ZKN2UI_TOP_COVER,			// カバーを開く動作へ（タッチ）
	ZKN2UI_TOP_SWITCH,			// 図鑑モード切り替え（タッチ）

	// リストページ
	ZKN2UI_LIST_MOVE = 0,		// ポケモン切り替え
	ZKN2UI_LIST_CLOSE,			// 閉じる
	ZKN2UI_LIST_SUARCH,			// 探す
	ZKN2UI_LIST_VOICE,			// 鳴き声
	ZKN2UI_LIST_INFO,			// 詳しく
	ZKN2UI_LIST_CANCEL,			// 終わる
	ZKN2UI_LIST_CANCEL_BUTTON,	// 終わる（ボタン）
	ZKN2UI_LIST_ARROW_L,		// 表示言語切り替え（左）
	ZKN2UI_LIST_ARROW_R,		// 表示言語切り替え（右）
	ZKN2UI_LIST_ARROW_U,		// ポケモンスクロール（上）
	ZKN2UI_LIST_ARROW_U_KEY,	// ポケモンスクロール（上：キー）
	ZKN2UI_LIST_ARROW_D,		// ポケモンスクロール（下）
	ZKN2UI_LIST_ARROW_D_KEY,	// ポケモンスクロール（下：キー）
	ZKN2UI_LIST_RAIL,			// ポケモンスクロール（フリー）
	ZKN2UI_LIST_COVER,			// カバーを閉じる動作へ（タッチ）

	// 検索ページ：メイン
	ZKN2UI_SEARCH_ROW = 0,		// 00: 並び順
	ZKN2UI_SEARCH_NAME,			// 01: 名前
	ZKN2UI_SEARCH_TYPE,			// 02: タイプ
	ZKN2UI_SEARCH_HEIGHT,		// 03: 高さ
	ZKN2UI_SEARCH_WEIGHT,		// 04: 重さ
	ZKN2UI_SEARCH_AREA,			// 05: 地域
	ZKN2UI_SEARCH_FORM,			// 06: 形
	ZKN2UI_SEARCH_RESET,		// 07: リセット
	ZKN2UI_SEARCH_START,		// 08: スタート
	ZKN2UI_SEARCH_EXIT,			// 09: やめる

	// 検索画面・並び順
	ZKN2UI_SEARCH_ROW_NUM = 0,	// 00: ばんごう
	ZKN2UI_SEARCH_ROW_STR,		// 01: ごじゅうおん
	ZKN2UI_SEARCH_ROW_WH,		// 02: おもい
	ZKN2UI_SEARCH_ROW_WL,		// 03: かるい
	ZKN2UI_SEARCH_ROW_HH,		// 04: たかい
	ZKN2UI_SEARCH_ROW_HL,		// 05: ひくい
	ZKN2UI_SEARCH_ROW_ENTER,	// 06: けってい
	ZKN2UI_SEARCH_ROW_CANCEL,	// 07: やめる

	// 検索画面・なまえ
	ZKN2UI_SEARCH_NAME_ENTER = 45,	// 45: けってい
	ZKN2UI_SEARCH_NAME_CANCEL,		// 46: やめる

	// 検索画面・タイプ
	ZKN2UI_SEARCH_TYPE_ENTER = 18,	// 18: けってい
	ZKN2UI_SEARCH_TYPE_CANCEL,		// 19: やめる

	// 検索画面・たかさ
	ZKN2UI_SEARCH_HEIGHT_MAX_CUR = 0,	// 00: MAX
	ZKN2UI_SEARCH_HEIGHT_MIN_CUR,		// 01: MIN
	ZKN2UI_SEARCH_HEIGHT_ENTER,			// 02: けってい
	ZKN2UI_SEARCH_HEIGHT_CANCEL,		// 03: やめる
	ZKN2UI_SEARCH_HEIGHT_P_MAX,			// 04: MAX+
	ZKN2UI_SEARCH_HEIGHT_M_MAX,			// 05: MAX-
	ZKN2UI_SEARCH_HEIGHT_P_MIN,			// 06: MIN+
	ZKN2UI_SEARCH_HEIGHT_M_MIN,			// 07: MIN-

	// 検索画面・おもさ
	ZKN2UI_SEARCH_WEIGHT_MAX_CUR = 0,	// 00: MAX
	ZKN2UI_SEARCH_WEIGHT_MIN_CUR,		// 01: MIN
	ZKN2UI_SEARCH_WEIGHT_ENTER,			// 02: けってい
	ZKN2UI_SEARCH_WEIGHT_CANCEL,		// 03: やめる
	ZKN2UI_SEARCH_WEIGHT_P_MAX,			// 04: MAX+
	ZKN2UI_SEARCH_WEIGHT_M_MAX,			// 05: MAX-
	ZKN2UI_SEARCH_WEIGHT_P_MIN,			// 06: MIN+
	ZKN2UI_SEARCH_WEIGHT_M_MIN,			// 07: MIN-

	// 検索画面・ちいき
	ZKN2UI_SEARCH_AREA_JHOTO = 0,	// 00: ジョウト
	ZKN2UI_SEARCH_AREA_KANTO,		// 01: カントー
	ZKN2UI_SEARCH_AREA_ANNONE,		// 02: ふめい
	ZKN2UI_SEARCH_AREA_CLEAR,		// 03: −−−−
	ZKN2UI_SEARCH_AREA_ENTER = 4,	// 04: けってい
	ZKN2UI_SEARCH_AREA_CANCEL,		// 05: やめる

	// 検索画面・かたち
	ZKN2UI_SEARCH_FORM_ENTER = 15,	// 15: けってい
	ZKN2UI_SEARCH_FORM_CANCEL,		// 16: やめる

	// 詳細画面共通
	ZKN2UI_DETAIL_ENCOUNT_BTN = 0,	//「ぶんぷ」
	ZKN2UI_DETAIL_SIZE_BTN,			//「おおきさ」
	ZKN2UI_DETAIL_FORM_BTN,			//「すがた」
	ZKN2UI_DETAIL_RET_BTN,			//「もどる」
	// 詳細画面・分布
	ZKN2UI_ENCOUNT_PLACE_U_2 = ZKN2UI_DETAIL_RET_BTN+1,	// 地名（２個上）
	ZKN2UI_ENCOUNT_PLACE_U_1,							// 地名（１個上）
	ZKN2UI_ENCOUNT_PLACE_D_2,							// 地名（２個下）
	ZKN2UI_ENCOUNT_PLACE_D_1,							// 地名（１個下）
	ZKN2UI_ENCOUNT_ARROW_U,								// 上矢印
	ZKN2UI_ENCOUNT_ARROW_D,								// 下矢印
	ZKN2UI_ENCOUNT_RAIL,								// レール
	ZKN2UI_ENCOUNT_JOHTO,								//「ジョウト」
	ZKN2UI_ENCOUNT_KANTO,								//「カントー」
	ZKN2UI_ENCOUNT_TIME1,								// 朝
	ZKN2UI_ENCOUNT_TIME2,								// 昼
	ZKN2UI_ENCOUNT_TIME3,								// 夜
	ZKN2UI_ENCOUNT_RETSET,								// 戻る処理へ
	// 詳細画面・姿１
	ZKN2UI_FORM1_POKE_U_2 = ZKN2UI_DETAIL_RET_BTN+1,	// ポケモン名（２個上）
	ZKN2UI_FORM1_POKE_U_1,								// ポケモン名（１個上）
	ZKN2UI_FORM1_POKE_D_2,								// ポケモン名（２個下）
	ZKN2UI_FORM1_POKE_D_1,								// ポケモン名（１個下）
	ZKN2UI_FORM1_ARROW_U,								// 上矢印
	ZKN2UI_FORM1_ARROW_D,								// 下矢印
	ZKN2UI_FORM1_RAIL,									// レール
	ZKN2UI_FORM1_MIKURABERU,							//「みくらべる」
	ZKN2UI_FORM1_RETSET,								// 戻る処理へ
	// 詳細画面・姿２
	ZKN2UI_FORM2_POKE_LU = 0,	// 左ポケモン上矢印
	ZKN2UI_FORM2_POKE_LD,		// 左ポケモン下矢印
	ZKN2UI_FORM2_POKE_RU,		// 右ポケモン上矢印
	ZKN2UI_FORM2_POKE_RD,		// 右ポケモン下矢印
	ZKN2UI_FORM2_CHANGE,		// 切り替え
	ZKN2UI_FORM2_CANCEL,		// 戻る
	ZKN2UI_FORM2_MOVE_L,		// カーソル左移動
	ZKN2UI_FORM2_MOVE_R,		// カーソル右移動
	// 詳細画面・戻る
	ZKN2UI_DETAILRET_A = ZKN2UI_DETAIL_RET_BTN+1,	// Ａもどる

	ZKN2UI_NONE = 0xffffffff	// 動作なし
};


//============================================================================================
//	プロトタイプ宣言
//============================================================================================

//--------------------------------------------------------------------------------------------
/**
 * トップページのキー／タッチ動作
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_TopMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * トップページ：カバーをタッチしているか
 *
 * @param	none
 *
 * @retval	"TRUE = している"
 * @retval	"FALSE = それ以外"
 */
//--------------------------------------------------------------------------------------------
extern BOOL ZKN2UI_TopCoverCheck(void);

//--------------------------------------------------------------------------------------------
/**
 * リストページのキー／タッチ動作
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_ListMain( ZKN2_WORK * wk, BOOL space );

//--------------------------------------------------------------------------------------------
/**
 * リストページ：カバーハンドルをタッチしているか
 *
 * @param	none
 *
 * @retval	"TRUE = している"
 * @retval	"FALSE = それ以外"
 */
//--------------------------------------------------------------------------------------------
extern BOOL ZKN2UI_ListCoverCheck(void);

//--------------------------------------------------------------------------------------------
/**
 * 検索画面メインページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 * @param	pos		初期位置
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchMainCursorMoveSet( ZKN2_WORK * wk, u32 pos );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面メインページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面並び順選択ページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchRowCursorMoveSet( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面並び順選択ページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchRowMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面名前選択ページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchNameCursorMoveSet( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面名前選択ページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchNameMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面タイプ選択ページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchTypeCursorMoveSet( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面タイプ選択ページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchTypeMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面高さ選択ページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchHeightCursorMoveSet( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面高さ選択ページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchHeightMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面重さ選択ページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchWeightCursorMoveSet( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面重さ選択ページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchWeightMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * タッチしているかをチェックしてＸ座標を取得
 *
 * @param	x	Ｘ座標格納場所
 *
 * @retval	"TRUE = タッチしている"
 * @retval	"FALSE = それ以外"
 */
//--------------------------------------------------------------------------------------------
extern BOOL ZKN2UI_HeightWeightAreaCheck( u32 * x );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面地域選択ページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchAreaCursorMoveSet( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面地域選択ページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchAreaMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面形選択ページ：CURSOR_MOVE設定
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_SearchFormCursorMoveSet( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索画面形選択ページ：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchFormMain( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 検索結果リスト：キータッチメイン
 *
 * @param	wk		図鑑画面ワーク
 * @param	space	リストにスペースがあるか（検索結果リストは常になし）
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_SearchListMain( ZKN2_WORK * wk, BOOL space );

//--------------------------------------------------------------------------------------------
/**
 * カーソル移動ワーク削除
 *
 * @param	wk		図鑑画面ワーク
 *
 * @return	none
 */
//--------------------------------------------------------------------------------------------
extern void ZKN2UI_CursorMoveWorkExit( ZKN2_WORK * wk );

//--------------------------------------------------------------------------------------------
/**
 * 詳細画面分布ページ キータッチ処理
 *
 * @param	wk		図鑑画面ワーク
 * @param	touch	タッチされたかを格納 ( TRUE = touch )
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_DetailEncountMain( ZKN2_WORK * wk, BOOL * touch );

//--------------------------------------------------------------------------------------------
/**
 * 詳細画面大きさページ キータッチ処理
 *
 * @param	wk		図鑑画面ワーク
 * @param	touch	タッチされたかを格納 ( TRUE = touch )
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_DetailSizeMain( ZKN2_WORK * wk, BOOL * touch );

//--------------------------------------------------------------------------------------------
/**
 * 詳細画面姿ページ１ キータッチ処理
 *
 * @param	wk		図鑑画面ワーク
 * @param	touch	タッチされたかを格納 ( TRUE = touch )
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_DetailForm1Main( ZKN2_WORK * wk, BOOL * touch );

//--------------------------------------------------------------------------------------------
/**
 * 詳細画面姿ページ２ キータッチ処理
 *
 * @param	wk		図鑑画面ワーク
 * @param	touch	タッチされたかを格納 ( TRUE = touch )
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_DetailForm2Main( ZKN2_WORK * wk, BOOL * touch );

//--------------------------------------------------------------------------------------------
/**
 * 詳細画面戻るページ キータッチ処理
 *
 * @param	wk		図鑑画面ワーク
 * @param	touch	タッチされたかを格納 ( TRUE = touch )
 *
 * @return	動作結果
 */
//--------------------------------------------------------------------------------------------
extern u32 ZKN2UI_DetailRetMain( ZKN2_WORK * wk, BOOL * touch );


#endif	// ZKN2_UI_H